With continuous upgrading of network capacity, a number of interfaces supported in a router keeps increasing, with an increasing requirement on flexibility to adapt to requirements of different application scenes. Combination of interfaces requesting access may differ in different application scenes. This requests a present design must support any interface in a possible application scene. For simultaneous access by multiple interfaces, a cache exclusive to each accessing interface has to be allocated for simultaneous data caching reception. However, when one exclusive cache is allocated for each supported interface, it will inevitably result in an increased number of caches and increased cache capacity. In case of constant cache capacity, this often will limit a number of interfaces supported by a router. Therefore, it is vital for a router to effectively use and share an interface cache in order to support more interfaces.
To support more interfaces using less cache, list-based cache sharing is being commonly used. However, in case of simultaneous access by multiple interfaces, traffic input by an interface cannot be limited accurately using list-based cache sharing. This may lead to synchronized packet sending operation and stop of the packet sending operation at all interfaces, resulting in system traffic in constant burst and turbulence, greatly jeopardizing system stability. By limiting traffic input by an interface, it means that when stored volume in a receiving cache of the interface reaches a threshold, back pressure has to be exerted on the interface requesting it to reduce data volume input to avoid cache overflow.